Memory-based dependences are induced by the reuse of the same
variable.  These dependences reduce the degrees of freedom for enabling
efficient loop nest transformations.  In particular, loop tiling is
severely limited when applied to codes containing false dependences.

We propose and evaluate a technique to allow a compiler to ignore many
false dependences while safely performing loop tiling.  It is based on
the precise characterization of interferences between live range
intervals, and does not incur any scalar or array expansion (renaming,
privatization).  We present our algorithms and implementation in the
Pluto compiler, and we evaluate them on the PolyBench suite.
